Data storage circuits, for example, flip-flops and latches, are used for storing state information in digital electronic circuits. Such data storage circuits hold the data temporarily. For example, a single latch stores one bit of data as long as the latch circuit is powered. However, such data storage circuits are volatile in nature, i.e. the stored data is lost when a power supply to these data storage circuits is switched off. A conventional technique to enable latches and flip-flops to retain data includes coupling the latch or flip-flop to a retention circuit with its own separate power supply. In this technique, when the power supply to the latches and flip-flops is switched off, the stored data in the latch/flip-flop is copied to the retention circuit. However, such an approach requires redundant circuitry which requires additional space in an integrated circuit that could otherwise have been saved. Further, an additional power supply is required, thereby adding to the overall power consumption of such data storage circuits.